Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Algorytm


Rekomendowane odpowiedzi

Opublikowano

znajdziesz mnóstwo wytłumaczeń używająć wyszukiwarki internetowej. Dlaczego ktoś ma marnować wiec czas na tłumaczenie czegoś co było już tłumaczone ? Dlatego że Ty nie umiesz szukać ? Widać zasługujesz na tą jedynkę. Co innego jak znajdziesz wytłumaczenie, coś zrozumiesz, ale nie wszystko bo po prostu nie ogarniasz. Wtedy możesz przyjść i poprosić o pomoc. Ale najpierw wykaż trochę własnej inicjatywy.

 

huj dupa kurwa cipa... lol huj nie jest podkreślony jako błąd WTF ?

Opublikowano

Ok tylko weź mi go wytłumacz po ludzku ogólnie to go rozumiem tylko, jeżeli powiem tak nauczycielowi to dostanę jedynkę

 

Ale co tu jest do rozumienia?

 

Proszę najprostszy model wyszukiwania binarnego:

// przeszukujemy tablice integer'ów A
// poszukujemy indeksu o wartości key
// min oraz max, to indeksy, ograniczające zbiór poszukiwań
int BinarySearch(int[] A, int key, int min, int max)
{
  // dopóki nasz przedział poszukiwań nie jest pusty,
 // żebyśmy mieli w czym szukać
 while(max>=min)
 {
 	 // szukamy indeksu środkowego
 	 int mid = (min+max)/2;

 	 // teraz wybieramy, który podzbiór będziemy następnym razem przeszukiwać

	  // jeśli wartość tablicy, odpowiadająca indeksowi środkowemu
 	 // jest mniejsza od interesującej nas, to ograniczamy
 	 // zbiór poszukiwań od dołu do indeksu,
 	 // będącego o jeden większym od środkowego (którego wartość już sprawdziliśmy
 	 // i wiemy, że jest mniejsza od interesującej nas)
 	 if ( A[mid] < key )
 	 	 min = mid + 1;
 	 // jeśli wartość tablicy, odpowiadająca indeksowi środkowemu
 	 // jest większa od interesującej nas, to ograniczamy
 	 // zbiór poszukiwań od góry do indeksu o jeden mniejszego
 	 // od środkowego (bo wiemy, że wartość tablicy od indeksu
 	 // środkowego jest większa od interesującej nas)
 	 else if( A[mid] > key)
 	 	 max = mid - 1;

 	 // no nie, już nam się udało i poszukiwana wartość jest
 	 // w środkowym punkcie przeszukiwanego przedziału
	  else
 	 	 return mid;

 }

 // gdy klucz nie został odnaleziony, wyszliśmy z pętli while
 // nasz zbiór poszukiwań został pusty, zwracamy jakąś wartość
 // która dla nas jest oczywista i oznacza niepomyślne poszukiwanie wartości
 // (taką wartością przykładowo może być -1, jako, że tablica nie posiada
 // indeksów ujemnych)
 return -1;

}

 

Jeśli tego nie zrozumiesz, to już chyba nic Ci nie pomoże.

W takim wypadku radzę dać sobie spokój z jakimkolwiek programowaniem itp., bo metody np. simplexu, to za cholerę nie pojmiesz.

Opublikowano

Dziękuje za tak liczne odpowiedzi, jednak zdałem sobie sprawę że lepiej jak sam to zrobię i tak to uczyniłem i o dziwo wszystko było prawidłowo. Więc dziękuje wam za pomoc. Temat do zamknięcia lub usunięcia.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...